package com.chy.blog_server.modular.web.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.chy.blog_server.modular.web.entity.BoPhoto;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * 描述：照片表 service 接口
 * 作者：chenhuiyan
 * 时间：2020/02/28 12:03
 */
public interface IBoPhotoService extends IService<BoPhoto> {

    /**
     * 查询列表
     * @param params
     * @return
     */
    List<Map<String, Object>> list(Map<String, Object> params);

    /**
     * 查询总数
     * @param params
     * @return
     */
    int getCount(Map<String, Object> params);

    /**
     * 根据id查询详情
     * @param id
     * @return
     */
    Map<String, Object> getInfoById(String id);

    /**
     * 查询已删除的照片列表
     * @param params
     * @return
     */
    List<Map<String, Object>> recycleList(Map<String, Object> params);

    /**
     * 彻底删除（删除原图和缩略图）
     * @param id
     * @return
     */
    int thoroughlyDelete(String id);

    /**
     * 上传照片并生成缩略图
     * @param file
     * @param photoAlbumId
     * @param request
     * @return
     */
    Map<String, Object> uploadAlbumPhoto(MultipartFile file, String photoAlbumId, HttpServletRequest request);

    /**
     * 上传视频
     * @param file
     * @param photoAlbumId
     * @param request
     * @return
     */
    Map<String, Object> uploadAlbumPhotoVideo(MultipartFile file, String photoAlbumId, HttpServletRequest request);

}
